package com.rs.game.player.content.dungeoneering;

import com.rs.game.WorldTile;
import com.rs.game.player.content.dungeoneering.rooms.BossRoom;
import com.rs.game.player.content.dungeoneering.rooms.HandledRoom;
import com.rs.game.player.content.dungeoneering.rooms.NormalRoom;
import com.rs.game.player.content.dungeoneering.rooms.RoomEvent;
import com.rs.game.player.content.dungeoneering.rooms.StartRoom;

public class DungeonConstants {

	public static final WorldTile OUTSIDE = new WorldTile(3460, 3720, 1);
	public static int ROTATIONS_COUNT = 4;
	public static final int[] LADDERS = new int[] {49696, 49698, 49700, 49698, 53748, 55484};
	public static final int FLOORS_COUNT = 60;

	public static final int[] 
	DUNGEON_DOORS = new int[] { 50342, 50343, 50344, 50343, 53948, 55762},
	DUNGEON_EXITS = new int[] { 51156, 50604, 51704, 50604, 54675, 56149},
	DUNGEON_BOSS_DOORS = new int[] { 50350, 50351, 50352, 50351, 53950, 55764 };

	public static final int 
	FROZEN_FLOORS = 0, 
	ABANDONED_FLOORS = 1,
	FURNISHED_FLOORS = 2, 
	ABANDONED2_FLOORS = 3, 
	OCCULT_FLOORS = 4,
	WARPED_FLOORS = 5;

	public static final int 
	SMALL_DUNGEON = 0, 
	MEDIUM_DUNGEON = 1,
	LARGE_DUNGEON = 2;

	public static final int[][] DUNGEON_RATIO = new int[][] { new int[] { 4, 4 }, new int[] { 4, 8 }, new int[] { 8, 8 }};

	public static final int 
	EAST_DOOR = 0,
	WEST_DOOR = 1,
	NORTH_DOOR = 2,
	SOUTH_DOOR = 3;

	public static final int[] START_ROOM_MUSICS = new int[]{822,822,822,822,822,822};//TODO

	public static final int[][] DANGEROUS_MUSICS = new int[][] {//TODO
		//FROZEN
		new int[] { 832, 834, 827, 811, 824, 808, 831, 810, 833, 837, 814, 821 

		} 
		//ABANDONED
		, new int [] { 
				 832, 834, 827, 811, 824, 808, 831, 810, 833, 837, 814, 821 
		}
		
		//FURNISHED
		, new int [] { 
				 832, 834, 827, 811, 824, 808, 831, 810, 833, 837, 814, 821 
		}
		
		//ABANDONED2
		, new int [] { 
				 832, 834, 827, 811, 824, 808, 831, 810, 833, 837, 814, 821 
		}
		
		//OCCULT
		, new int [] { 
				 832, 834, 827, 811, 824, 808, 831, 810, 833, 837, 814, 821 
		}
		
		//WARPED
		, new int [] { 
				 832, 834, 827, 811, 824, 808, 831, 810, 833, 837, 814, 821 
		}
		
	};

	public static final int[][] SAFE_MUSICS = new int[][] {//TODO
		//FROZEN
		new int[] { 804, 805, 806, 807, 812, 813, 826, 823, 825, 826, 828, 829, 830, 835, 836

		} 
		
		//ABANDONED
		, new int [] { 
				804, 805, 806, 807, 812, 813, 826, 823, 825, 826, 828, 829, 830, 835, 836
		}
		
		//FURNISHED
		, new int [] { 
				804, 805, 806, 807, 812, 813, 826, 823, 825, 826, 828, 829, 830, 835, 836
		}
		
		//ABANDONED2
		, new int [] { 
				804, 805, 806, 807, 812, 813, 826, 823, 825, 826, 828, 829, 830, 835, 836
		}
		
		//OCCULT
		, new int [] { 
				804, 805, 806, 807, 812, 813, 826, 823, 825, 826, 828, 829, 830, 835, 836
		}
		
		//WARPED
		, new int [] { 
				804, 805, 806, 807, 812, 813, 826, 823, 825, 826, 828, 829, 830, 835, 836
		}
		
	};

	public static final int[][] GUARDIAN_CREATURES = new int[][] {
		//FROZEN_FLOORS
		new int[] { 
				10762, //ice giants
				10770, //frost dragons
				10776, //iron dragon
				10782, //ice troll
				10791, //Thrower troll
				10797, //brute
				10815, //red dragon
				10821, //ghost
				10831, //Mysterious shade
				10906, //bat
				10910, //giant bat
		}

		//ABANDONED
		, new int [] { 
				10178, //earth warrior	
				10496, //dungeon spider
				10639, //skeleton (meelee)
				10649, //skeleton (ranged)
				10629, //skeleton (magic)
				10375, //zombie (magic)
				10364, //zombie (meelee)
				10604, //green dragon
				10906, //bat
				10910, //giant bat
				10706, //hill giant
				10469, //giant skeleton
				10236, //hobgoblin
				10168, //animated pickaxe
		}

		//FURNISHED
		, new int [] { 
				10726, //guard dog
				10496, //dungeon spider
				10797, //brute
				10776, //iron dragon
				10906, //bat
				10910, //giant bat
		}

		//ABANDONED2
		, new int [] { 
				10178, //earth warrior	
				10496, //dungeon spider
				10639, //skeleton (meelee)
				10649, //skeleton (ranged)
				10629, //skeleton (magic)
				10375, //zombie (magic)
				10364, //zombie (meelee)
				10604, //green dragon
				10906, //bat
				10910, //giant bat
				10706, //hill giant
				10469, //giant skeleton
				10236, //hobgoblin
				10168, //animated pickaxe
		}

		//OCCULT
		, new int [] { 
				10496, //dungeon spider
				10639, //skeleton (meelee)
				10649, //skeleton (ranged)
				10629, //skeleton (magic)
				10375, //zombie (magic)
				10364, //zombie (meelee)
				10815, //red dragon 
				10906, //bat
				10910, //giant bat
				10754, //fire giant
				10744, //animated book
				10188, //hellhound
				10492, //lesser demon
				10718, //greater demon 
				10196, //necromancer
				10821, //ghost
				10168, //animated pickaxe
		}
		
		//WARPED
		, new int [] { 
				10496, //dungeon spider
				10639, //skeleton (meelee)
				10649, //skeleton (ranged)
				10629, //skeleton (magic)
				10375, //zombie (magic)
				10364, //zombie (meelee)
				10219, //black dragon
				10906, //bat
				10910, //giant bat
				12903, //reborn mage
				12941, //reborn warrior
				10744, //animated book
				12922, //guard dog
				12914, //giant rat
				12932, //brute
				10492, //lesser demon
				10718, //greater demon
				10722, //black demon
				10736, //ankou
		}
		
		//TODO 
		//All floors monsters: mysterious shade, forgotten warrior, forgotten ranger, forgotten mage, bovimastyx, giant rat
	};

	public static final int[][] PASSIVE_CREATURES = new int[][] {

		//FROZEN
		new int[] {11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095}

		//ABANDONED
		,new int[] {11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095}

		//FURNISHED
		,new int[] {11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095}

		//ABANDONED2
		,new int[] {11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095}

		//OCCULT
		,new int[] {11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095}

		//WARPED
		,new int[] {11086, 11087, 11088, 11089, 11090, 11091, 11092, 11093, 11094, 11095}
	};

	public static final StartRoom[][] START_ROOMS = new StartRoom[][] {
		
		//FROZEN
		new StartRoom[] { 

				new StartRoom(new int[] { 1 }, 8, 624, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 624, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 624, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 624, SOUTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 626, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 626, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 626, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 626, SOUTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 628, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 628, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 628, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 628, SOUTH_DOOR, NORTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 630, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 630, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 630, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 630, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 632, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 632, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 632, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 632, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),

		}
		
		//ABANDONED
		, new StartRoom [] {

				new StartRoom(new int[] { 1 }, 8, 640, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 640, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 640, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 640, SOUTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 642, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 642, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 642, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 642, SOUTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 644, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 644, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 644, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 644, SOUTH_DOOR, NORTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
		} 

		//FURNISHED
		, new StartRoom [] {

				new StartRoom(new int[] { 1 }, 8, 656, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 656, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 656, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 656, SOUTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 658, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 658, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 658, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 658, SOUTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 660, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 660, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 660, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 660, SOUTH_DOOR, NORTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 662, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 662, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 662, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 662, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 664, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 664, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 664, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 664, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
		}

		//ABANDONED2
		, new StartRoom [] {

				new StartRoom(new int[] { 1 }, 8, 640, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 640, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 640, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 640, SOUTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 642, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 642, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 642, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 642, SOUTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 644, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 644, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 644, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 644, SOUTH_DOOR, NORTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 646, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 648, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
		}

		//OCCULT
		, new StartRoom [] {

				new StartRoom(new int[] { 1 }, 8, 672, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 672, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 672, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 672, SOUTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 674, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 674, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 674, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 674, SOUTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 676, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 676, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 676, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 676, SOUTH_DOOR, NORTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 678, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 678, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 678, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 678, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 680, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 680, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 680, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 680, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
		}

		//WARPED
		, new StartRoom [] {
				new StartRoom(new int[] { 1 }, 8, 688, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 688, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 688, SOUTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 688, SOUTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 690, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 690, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 690, SOUTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 690, SOUTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 692, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 692, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 692, SOUTH_DOOR, NORTH_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 692, SOUTH_DOOR, NORTH_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 694, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 694, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 694, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 694, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR),
				
				new StartRoom(new int[] { 1 }, 8, 696, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 10, 696, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 12, 696, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
				new StartRoom(new int[] { 1, 2, 3, 4, 5, 6 }, 14, 696, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR),
		}
	};

	public static final NormalRoom[][] NORMAL_ROOMS = new NormalRoom[][] {
		
		//FROZEN
		new NormalRoom[] { 
				new NormalRoom(1, 8, 256, SOUTH_DOOR), 
				new NormalRoom(1, 10, 256, SOUTH_DOOR), 
				new NormalRoom(1, 12, 256, SOUTH_DOOR), 
				new NormalRoom(1, 14, 256, SOUTH_DOOR), 
				new NormalRoom(1, 16, 256, SOUTH_DOOR), 
				new NormalRoom(1, 22, 256, SOUTH_DOOR), 
				
				new NormalRoom(1, 8, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 14, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 16, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 20, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 22, 258, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 24, 258, SOUTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 260, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 10, 260, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 12, 260, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 14, 260, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 16, 260, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 18, 260, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 22, 260, SOUTH_DOOR, NORTH_DOOR), 

				new NormalRoom(1, 8, 262, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 262, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 262, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 14, 262, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 16, 262, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 22, 262, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 10, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 12, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 14, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 16, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 18, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 22, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 24, 264, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
		}

		//ABANDONED
		, new NormalRoom [] {
				new NormalRoom(1, 8, 288, SOUTH_DOOR), 
				new NormalRoom(1, 10, 288, SOUTH_DOOR), 
				new NormalRoom(1, 12, 288, SOUTH_DOOR), 
				new NormalRoom(1, 14, 288, SOUTH_DOOR), 
				new NormalRoom(1, 16, 288, SOUTH_DOOR), 
				new NormalRoom(1, 18, 288, SOUTH_DOOR), 
				new NormalRoom(1, 20, 288, SOUTH_DOOR), 
				new NormalRoom(1, 22, 288, SOUTH_DOOR), 
				
				new NormalRoom(1, 8, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 290, SOUTH_DOOR, WEST_DOOR),  
				new NormalRoom(1, 24, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 26, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 34, 290, SOUTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 10, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 12, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 30, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 32, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 40, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 42, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 44, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 46, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 48, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 50, 292, SOUTH_DOOR, NORTH_DOOR), 

				new NormalRoom(1, 8, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 28, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 38, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 10, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 12, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 36, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
		}

		//FURNISHED
		, new NormalRoom [] {
				new NormalRoom(1, 8, 304, SOUTH_DOOR), 
				new NormalRoom(1, 10, 304, SOUTH_DOOR), 
				new NormalRoom(1, 12, 304, SOUTH_DOOR), 
				new NormalRoom(1, 14, 304, SOUTH_DOOR), 
				new NormalRoom(1, 16, 304, SOUTH_DOOR), 
				new NormalRoom(1, 22, 304, SOUTH_DOOR), 

				new NormalRoom(1, 8, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 14, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 16, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 20, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 22, 306, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 24, 306, SOUTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 308, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 10, 308, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 12, 308, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 14, 308, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 16, 308, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 18, 308, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 22, 308, SOUTH_DOOR, NORTH_DOOR), 

				new NormalRoom(1, 8, 310, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 310, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 310, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 14, 310, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 16, 310, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 22, 310, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 10, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 12, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 14, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 16, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 18, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 22, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 24, 312, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				
		}

		//ABANDONED2
		, new NormalRoom [] {//TODO Also y (336 idem aan deze ordening) 
				new NormalRoom(1, 8, 288, SOUTH_DOOR), 
				new NormalRoom(1, 10, 288, SOUTH_DOOR), 
				new NormalRoom(1, 12, 288, SOUTH_DOOR), 
				new NormalRoom(1, 14, 288, SOUTH_DOOR), 
				new NormalRoom(1, 16, 288, SOUTH_DOOR), 
				new NormalRoom(1, 18, 288, SOUTH_DOOR), 
				new NormalRoom(1, 20, 288, SOUTH_DOOR), 
				new NormalRoom(1, 22, 288, SOUTH_DOOR), 
				
				new NormalRoom(1, 8, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 290, SOUTH_DOOR, WEST_DOOR),  
				new NormalRoom(1, 24, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 26, 290, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 34, 290, SOUTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 10, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 12, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 30, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 32, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 40, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 42, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 44, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 46, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 48, 292, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 50, 292, SOUTH_DOOR, NORTH_DOOR), 

				new NormalRoom(1, 8, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 28, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 38, 294, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR), 

				new NormalRoom(1, 8, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 10, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 12, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 36, 296, SOUTH_DOOR, NORTH_DOOR, WEST_DOOR, EAST_DOOR), 
		}

		//OCCULT
		, new NormalRoom [] {
				new NormalRoom(1, 8, 384, SOUTH_DOOR), 
				new NormalRoom(1, 10, 384, SOUTH_DOOR), 
				new NormalRoom(1, 12, 384, SOUTH_DOOR), 
				new NormalRoom(1, 14, 384, SOUTH_DOOR), 
				new NormalRoom(1, 16, 384, SOUTH_DOOR), 
				new NormalRoom(1, 18, 384, SOUTH_DOOR), 
				new NormalRoom(1, 20, 384, SOUTH_DOOR), 
				new NormalRoom(1, 22, 384, SOUTH_DOOR), 
				new NormalRoom(1, 52, 384, SOUTH_DOOR), 
				new NormalRoom(1, 54, 384, SOUTH_DOOR), 
				new NormalRoom(1, 56, 384, SOUTH_DOOR), 
				new NormalRoom(1, 58, 384, SOUTH_DOOR), 
				new NormalRoom(1, 60, 384, SOUTH_DOOR), 
				new NormalRoom(1, 62, 384, SOUTH_DOOR), 
				new NormalRoom(1, 64, 384, SOUTH_DOOR), 
				new NormalRoom(1, 66, 384, SOUTH_DOOR), 
				new NormalRoom(1, 68, 384, SOUTH_DOOR), 
				new NormalRoom(1, 70, 384, SOUTH_DOOR), 
				new NormalRoom(1, 72, 384, SOUTH_DOOR), 
				new NormalRoom(1, 74, 384, SOUTH_DOOR), 
				new NormalRoom(1, 76, 384, SOUTH_DOOR), 
				new NormalRoom(1, 78, 384, SOUTH_DOOR),
				
				new NormalRoom(1, 8, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 386, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 24, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 26, 386, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 34, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 62, 386, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 64, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 66, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 68, 386, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 70, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 72, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 74, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 76, 386, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 78, 386, SOUTH_DOOR, WEST_DOOR), 
				
				new NormalRoom(1, 8, 388, NORTH_DOOR, SOUTH_DOOR),
				new NormalRoom(1, 10, 388, NORTH_DOOR, SOUTH_DOOR),
				new NormalRoom(1, 12, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 30, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 32, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 40, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 42, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 44, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 46, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 48, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 50, 388, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 62, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 64, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 66, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 68, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 70, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 72, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 74, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 76, 388, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 78, 388, NORTH_DOOR, SOUTH_DOOR), 
				
				new NormalRoom(1, 8, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 28, 390, SOUTH_DOOR, WEST_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 38, 390, SOUTH_DOOR, WEST_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 62, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 64, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 66, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 68, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 70, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 72, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 74, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 76, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 78, 390, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR),
				
				new NormalRoom(1, 8, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 10, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 12, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 36, 392, SOUTH_DOOR, WEST_DOOR, EAST_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 62, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR),   
				new NormalRoom(1, 64, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR),
				new NormalRoom(1, 66, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 72, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 74, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 76, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 78, 392, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR) 

		}

		//WARPED
		, new NormalRoom [] {
				new NormalRoom(1, 8, 432, SOUTH_DOOR), 
				new NormalRoom(1, 10, 432, SOUTH_DOOR), 
				new NormalRoom(1, 12, 432, SOUTH_DOOR), 
				new NormalRoom(1, 14, 432, SOUTH_DOOR), 
				new NormalRoom(1, 16, 432, SOUTH_DOOR), 
				new NormalRoom(1, 18, 432, SOUTH_DOOR), 
				new NormalRoom(1, 20, 432, SOUTH_DOOR), 
				new NormalRoom(1, 22, 432, SOUTH_DOOR), 
				new NormalRoom(1, 52, 432, SOUTH_DOOR), 
				new NormalRoom(1, 54, 432, SOUTH_DOOR), 
				new NormalRoom(1, 56, 432, SOUTH_DOOR), 
				new NormalRoom(1, 58, 432, SOUTH_DOOR), 
				new NormalRoom(1, 60, 432, SOUTH_DOOR), 
				new NormalRoom(1, 62, 432, SOUTH_DOOR), 
				new NormalRoom(1, 64, 432, SOUTH_DOOR), 
				new NormalRoom(1, 66, 432, SOUTH_DOOR), 
				new NormalRoom(1, 68, 432, SOUTH_DOOR), 
				new NormalRoom(1, 70, 432, SOUTH_DOOR), 
				new NormalRoom(1, 72, 432, SOUTH_DOOR), 
				new NormalRoom(1, 74, 432, SOUTH_DOOR), 
				new NormalRoom(1, 76, 432, SOUTH_DOOR), 
				new NormalRoom(1, 78, 432, SOUTH_DOOR),
				
				new NormalRoom(1, 8, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 434, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 24, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 26, 434, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 34, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 62, 434, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 64, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 66, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 68, 434, SOUTH_DOOR, WEST_DOOR),
				new NormalRoom(1, 70, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 72, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 74, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 76, 434, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 78, 434, SOUTH_DOOR, WEST_DOOR), 
				
				new NormalRoom(1, 8, 436, NORTH_DOOR, SOUTH_DOOR),
				new NormalRoom(1, 10, 436, NORTH_DOOR, SOUTH_DOOR),
				new NormalRoom(1, 12, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 30, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 32, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 40, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 42, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 44, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 46, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 48, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 50, 436, SOUTH_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 62, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 64, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 66, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 68, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 70, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 72, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 74, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 76, 436, NORTH_DOOR, SOUTH_DOOR), 
				new NormalRoom(1, 78, 436, NORTH_DOOR, SOUTH_DOOR), 
				
				new NormalRoom(1, 8, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 10, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 12, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 28, 438, SOUTH_DOOR, WEST_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 38, 438, SOUTH_DOOR, WEST_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 62, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 64, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 66, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 68, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 70, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 72, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 74, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 76, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR), 
				new NormalRoom(1, 78, 438, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR),
				
				new NormalRoom(1, 8, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 10, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 12, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 36, 440, SOUTH_DOOR, WEST_DOOR, EAST_DOOR, NORTH_DOOR), 
				new NormalRoom(1, 62, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR),   
				new NormalRoom(1, 64, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR),
				new NormalRoom(1, 66, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 72, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 74, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 76, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR), 
				new NormalRoom(1, 78, 440, NORTH_DOOR, SOUTH_DOOR, WEST_DOOR, EAST_DOOR) 

		}

	};

	public static final HandledRoom[][] PUZZLE_ROOMS = new HandledRoom[][] {
		
	};

	public static final BossRoom[][] BOSS_ROOMS = new BossRoom[][] {
		
		//FROZEN
		new BossRoom[] {
				
				//Astea frostweb
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9965, 5, 5, false, false);

					} 
				}, 816, 1, 30, 624),

				//Gluttonous Behemoth
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9948, 5, 5, false, false);

					} 
				}, 816, 1, 28, 624),
				
				//Plane-freezer Lakhrahnaz
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9929, 5, 5, false, false);

					} 
				}, 816, 128/*11*/, 26, 624),
				
				//Luminescent Icefiend
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9912, 5, 5, false, false);

					} 
				}, 816, 128/*5*/, 24, 624),
				
				
				//To'kash the Bloodchiller
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10024, 5, 5, false, false);

					} 
				}, 816, 17, 26, 626),
				
				
				//Icy Bones
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10040, 5, 5, false, false);

					} 
				}, 816, 1, 24, 626),
	
		} 

		//ABANDONED
		, new BossRoom [] { 
				
				//Skeletal Horde/Divine Skinweaver
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10058, 5, 5, false, false);

					} 
				}, 816, 128/*23*/, 30, 640),
				
				//Hobgoblin Geomancer
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10059, 5, 5, false, false);

					} 
				}, 816, 23, 24, 640),
				
				//Bulwark beast
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10073, 5, 5, false, false);

					} 
				}, 816, 128/*23*/, 24, 642),
				
				//Unholy Cursebearer
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10111, 5, 5, false, false);

					} 
				}, 816, 23, 26, 640),
		}

		//FURNISHED
		, new BossRoom [] {

				//Rammernaut
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9767, 5, 5, false, false);

					} 
				}, 816, 35, 26, 656),
				
				//Stomp
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9782, 5, 5, false, false);

					} 
				}, 816, 35, 30, 656),
				
				//Har'Lakk the Riftsplitter
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9898, 5, 5, false, false);

					} 
				}, 816, 35, 28, 656),
				
				//Lexicus Runewright
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9842, 5, 5, false, false);

					} 
				}, 816, 39, 26, 658),
				
				//Sagittare
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9753, 5, 5, false, false);

					} 
				}, 816, 45, 24, 658),
				
				//Night-gazer Khighorahk
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 9725, 5, 5, false, false);

					} 
				}, 816, 51, 24, 656),
		}

		//ABANDONED2
		, new BossRoom [] {
				
				//Skeletal Horde/Divine Skinweaver
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10058, 5, 5, false, false);

					} 
				}, 816, 23, 30, 640),
				
				//Hobgoblin Geomancer
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10059, 5, 5, false, false);

					} 
				}, 816, 23, 24, 640),
				
				//Bulwark beast
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10073, 5, 5, false, false);

					} 
				}, 816, 23, 24, 642),
				
				//Unholy Cursebearer
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10111, 5, 5, false, false);

					} 
				}, 816, 23, 26, 640),
				
				//Shadow-forger Ihlakhizan
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10143, 5, 5, false, false);

					} 
				}, 816, 59, 28, 640),
				
				//Bal'lak The Pummeller
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 10128, 5, 5, false, false);

					} 
				}, 816, 65, 26, 642),
		}
		
		//OCCULT
		, new BossRoom [] {

				//Skeletal Trio
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 11940, 5, 5, false, false);
						dungeon.spawnNPC(reference, 12044, 5, 5, false, false);
						dungeon.spawnNPC(reference, 11999, 5, 5, false, false);

					} 
				}, 816, 71, 24, 672),

				//Runebound Behemoth
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 11752, 5, 5, false, false);

					} 	
				}, 816, 71, 26, 674),
				
				//Gravecreeper
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 11708, 5, 5, false, false);

					} 	
				}, 816, 71, 28, 672),

				//Necrolord
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 11737, 5, 5, false, false);

					} 	
				}, 816, 77, 30, 672),
				
				//Flesh-spoiler Haasghenahk
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 11895, 5, 5, false, false);

					} 	
				}, 816, 83, 24, 674),
				
				//Yk'Lagor the Thunderous
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 11872, 5, 5, false, false);

					} 	
				}, 816, 89, 26, 672),
		}
		
		//WARPED
		, new BossRoom [] {

				//Blink
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 12865, 5, 5, false, false);

					} 	
				}, 816, 95, 24, 688),
				
				//Warped Gulega
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 12737, 5, 5, false, false);

					} 	
				}, 816, 95, 26, 688),
				
				//Dreadnaut
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 12848, 5, 5, false, false);

					} 	
				}, 816, 95, 28, 688),
				
				//Hope Devourer
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 12886, 5, 5, false, false);

					} 	
				}, 816, 101, 30, 688),
				
				//World-gorger Shukarhazh
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 12647, 5, 5, false, false);

					} 	
				}, 816, 107, 26, 690),
				
				//Kal'Ger the Warmonger
				new BossRoom(new RoomEvent() {
					@Override 
					public void openRoom(DungeonManager dungeon, RoomReference reference) { 
						dungeon.spawnNPC(reference, 12752, 5, 5, false, false);

					} 	
				}, 816, 113, 24, 690),
		}
	};

}
